﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Inventario_HardSoft.Controlador;
using Inventario_HardSoft.ADO;

namespace Inventario_HardSoft.Presentacion
{
    public partial class Registro_de_Reparacion_de_Problemas : Form
    {
        private Ctrl_Reg_Sol get_RegistroSoluciones;
        public Registro_de_Reparacion_de_Problemas()
        {
            InitializeComponent();
            get_RegistroSoluciones =new Ctrl_Reg_Sol(); 
        }

        private void cb_Usuario_DropDown(object sender, EventArgs e)
        {

        }

        private void btn_Cerrar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_Guardar_Click(object sender, EventArgs e)
        {
            String idProb = String.Empty;
            if (string.IsNullOrWhiteSpace(txt_Soluciones.Text))
            {
                MessageBox.Show("No Ingreso la Solucion del Problema", "Solucion Vacia");
                txt_Soluciones.Focus();
                txt_Soluciones.Text = "";
            }
            else
            {
                // guarda la solucion del problema   
                if (tabControl1.SelectedIndex == 0) { idProb = grib_Problemas.SelectedRows[0].Cells[3].Value.ToString(); }
                else { idProb = grib_ProblemasSw.SelectedRows[0].Cells[3].Value.ToString(); }
                get_RegistroSoluciones.regSoluciones(idProb,txt_Soluciones.Text);
                MessageBox.Show("Solucion del Problema Guardada Correctamente");
                this.Close();
            }
        }

        private void grib_Problemas_SelectionChanged(object sender, EventArgs e)
        {
           if(grib_Problemas.SelectedRows.Count > 0)
              {           
                foreach (DataGridViewRow rowSelected in grib_Problemas.SelectedRows)
                     {
                        //muestro en el panel de Detalles del Problema
                        txt_fregistro.Text = rowSelected.Cells[5].Value.ToString(); 
                        txt_RegistradoPor.Text = rowSelected.Cells[8].Value.ToString();
                        txt_descripcion.Text = rowSelected.Cells[9].Value.ToString();
                        txt_observaciones.Text = rowSelected.Cells[10].Value.ToString();
                    } 
              } 
        }

        private void Registro_de_Reparacion_de_Problemas_Load(object sender, EventArgs e)
        {
            txt_fentrega.Text = DateTime.Now.ToString("dd/MM/yyyy"); 
        }

        private void btn_Examinar_Click(object sender, EventArgs e)
        {
            txt_fentrega.Text = DateTime.Now.ToString("dd/MM/yyyy"); 
            txt_Usuario.Text = "";
            limpiar();
            grib_Problemas.Rows.Clear();
            Buscar_Usuario bUsuario = new Buscar_Usuario();
            DialogResult dr = bUsuario.ShowDialog(this);
            switch (dr)
            {
                case DialogResult.OK:
                    txt_Usuario.Text = bUsuario.user.NOMBRE;
                    txt_Usuario.Tag = bUsuario.user.IDUSUARIO;
                    break;
                case DialogResult.Cancel:
                    txt_Usuario.Text = string.Empty;
                    break;
            }            
            grib_Problemas.ClearSelection();
            btn_Buscar.Focus();
        }

        private void btn_Buscar_Click(object sender, EventArgs e)
        {
            //llenamos la grilla
            if (string.IsNullOrWhiteSpace(txt_Usuario.Text))
            {
                MessageBox.Show("Seleccione usuario");
            } 
            string nomb_usu = txt_Usuario.Text;
            get_RegistroSoluciones.getReg_Usu(grib_Problemas, nomb_usu);
            grib_Problemas.ClearSelection();
            llenaGrillaSw();
            limpiar();          
        }

        private void limpiar() 
        {
            txt_descripcion.Text = "";
            txt_fregistro.Text = "";
            txt_observaciones.Text = "";
            txt_RegistradoPor.Text = "";
            txt_Soluciones.Text = "";
        }

        private void llenaGrillaSw()
        {
            //llenamos la grilla
            if (string.IsNullOrWhiteSpace(txt_Usuario.Text))
            {
                MessageBox.Show("Seleccione usuario");
            }
            string nomb_usu = txt_Usuario.Text;
            get_RegistroSoluciones.getReg_UsuSoft(grib_ProblemasSw, nomb_usu);
            grib_Problemas.ClearSelection();
            limpiar();
        }

        private void grib_ProblemasSw_SelectionChanged(object sender, EventArgs e)
        {
            if (grib_ProblemasSw.SelectedRows.Count > 0)
            {
                foreach (DataGridViewRow rowSelected in grib_ProblemasSw.SelectedRows)
                {
                    //muestro en el panel de Detalles del Problema
                    txt_fregistro.Text = rowSelected.Cells[5].Value.ToString();
                    txt_RegistradoPor.Text = rowSelected.Cells[8].Value.ToString();
                    txt_descripcion.Text = rowSelected.Cells[9].Value.ToString();
                    txt_observaciones.Text = rowSelected.Cells[10].Value.ToString();
                }
            } 
        }

        private void tabControl1_Click(object sender, EventArgs e)
        {
            grib_Problemas.ClearSelection();
            grib_ProblemasSw.ClearSelection();
            limpiar();
        }
    }
}
